تاریخ : جمعه 27 مرداد 1391
نویسنده : hamidrezakhouri

تعریف انواع داده ها

در درس پیش مبحث طراحی جدول را آغاز كردیم و پنجره Design View آشنا شدیدو توانستیم اقدام به ایجاد جداول جدید كنیم ولی یكی از مباحث مهم در طراحی جدول را ذكر نكردیم و قول آن را به جلسه بعد دادیم و آن مبحث كه در این درس به طور مفصل توضیح داده خواهد شد نوع داده های فیلدها می باشد.
اگر به یاد داشته باشید در پنجره Design View ما برای تعریف كردن فیلدها از سه ستون Field Name و Data Type و Description استفاده می كردیم و همچنین گفته شد كه Field Name برای شرح نام فیلد و Description برای توضیح فیلد برای استفاده های بعدی می باشد. اما نكته ای كه اینجا قابل ذكر می باشد ستون Data Type می باشد كه نوع داده های هر فیلد را مشخص می كند مثلا داده های از نوع متن, عدد, تاریخ و غیره كه تمامی موارد در زیر به طور كامل شرح داده خواهند شد.

هر داده ای نوع خاصی دارد. هرفیلد جدول, داده هایی از یك نوع خاص را می تواند در خود جای دهد.مثلا برای فیلدی با اسم "نام كارگر" باید داده هایی از نوع متن تعریف شود تا تمامی ركوردهای ثبت شده در این فیلد دارای یك نوع داده و آن هم از نوع متن باشند.لذا هرگاه جدولی طراحی می كنیم باید نوع داده هر فیلد را از فهرست پایین جهنده ستون Data Type انتخاب كنیم.(برای نمایش فهرست ستون Data Type كافی است بر روی فلش موجود در این ستون كلیك كنیم تا فهرستی از نوع تمامی داده هایی كه می شود در اكسس ثبت كرد برای ما نشان داده شود)
توجه: هنگامی كه موردی را از فهرست بازشونده Data Type انتخاب می كنیم اكسس فهرستی از اطلاعات را در بخش زیرین پنجره نمایش می دهد كه به آنها Field Properties (یا خصوصیات فیلد) گفته می شود. مثلا وقتی ما فیلدی از نوع Text (متن) را از ستون بازشونده انتخاب می كنیم. در زیر همین پنجره خصوصیات فیلد مربوط به متن برای ما نشان داده می شود. 
حال در زیر به تشریح تمامی انواع داده ها می پردازیم:

داده از نوع Text(متن):
از داده نوع Text در فیلدهایی كه حروف, واژه ها, اسامی و عبارات را نگه می دارد استفاده می شود. لازم نیست كه محتوای فیلد متن فقط متون الفبایی باشد بلكه می تواند اعداد و علایم خاص نیز باشد. ولی توجه كنید كه برای اعدادی كه در محاسبات از آنها استفاده می كنید, از فیلد نوع متن استفاده نكنید. فیلد متن برای داده های مناسب است كه می خواهید آنها را نگهدارید و نه آنهایی كه قصد انجام محاسبه بر روی آنها را داشته و یا به عنوان تاریخ و زمان بكار ببرید.مثلا داده های با عنوان "نام" باید در این نوع فیلد ذخیره شوند.
توجه: از فیلد متنی برای داده های با طول حداكثر 255 كاراكتر استفاده كنید. اگر طول داده بیش از این مقدار است, از داده نوع Memo استفاده كنید. همچنین دقت كنید كه برای كنترل طول فیلد متنی, از خصوصیات فیلد استفاده كنید.مثلا می توانید از اكسس بخواهید تا در هز ركورد فیلد متنی, تا 255 حرف را نگهدارد.
آدرس و شماره تامین اجتماعی مثالهای كاملی از داده های متنی هستند كه از اعداد و علایم خاص (مانند تیره و ویرگول) تشكیل می شوند.

داده از نوع Memo (یادداشت):

از داده نوع Memo برای فیلدهایی استفاده می شود كه تا 64000 كاراكتر (شامل حروف, اعداد و كاركترهای خاص) طول دارند.تعیین طول فیلدهای Memo ضروری نیست چون اكسس فقط به همان مقدار كه لازم است برای آنها جا تعیین می كند. در واقع جدولهایی كه فیلد Memo دارند, ركوردهایی با طول متغیر دارند, چون طول فیلد Memo در هر ركورد, با ركوردهای دیگر فرق دارد. مثال برای این نوع فیلد, فیلدی به نام "توضیحات" می تواند باشد.
توجه كنید كه اگر بخواهید متون شكل بندی شده ای مانند متون واژه پردازی شده در Word را در اكسس نگه داری كنید باید از داده های نوع OLE استفاده كنید نه داده های نوع Memo.

داده از نوع Number (عدد):

هر داده ای از جدول را كه بخواهید در محاسبات بكار ببرید, از نوع Number تعریف كنید. داده از نوع Number برای تمامی ارقام, بجز مقادیر پولی و ارقام با دقت زیاد كه در محاسبات علمی بكار میرود مناسب است.(توجه كنید كه از داده نوع Currency (ارز) برای ارقام پولی و دقت بالا استفاده می شود). اكسس در ارقام با دقت بالا زیاد دقیق نیست مگر اینكه از داده نوع Currency استفاده كنید.مثال برای داده های نوع Number می تواند مثلا شماره كدپستی یا شماره كارگری باشد.

داده از نوع Data/Time (زمان/تاریخ):

داده های از نوع تاریخ و زمان را در فیلدهایی كه نوع آنها Data/Time است نگهدارید. از این نوع داده در فیلدهایی مانند تاریخ استخدام و زمان ملاقاتها استفاده می شود. وقتی فیلدهای تاریخ و زمان را از نوع Data/Time تعیین می كنید, اكسس به شما امكان مرتب كردن آنها را بر اساس تاریخ و زمان می دهد. مثلا می توانید گزارشی از تمامی كرامندانی كه تاریخ شروع به كار آنها اول مهرماه 1377 بوده است و یا فهرستی از تمامی حسابهایی كه بیش از 60 روز به سررسید آنها مانده را چاپ كنید.

فیلد داده از نوع Currency (ارز):

از این نوع داده ها برای نگهداری مقادیر پولی یا ارزی استفاده می شود. داده از نوع Currency, كاربر را مطمئن می سازد كه مقادیر پولی/ارزی كه در محاسبات بكار می روند به درستی گرد شده اند.(ولی یك مشكل كوچك در اكسس 2000 در این نوع فیلد برای ثبت نتایج به ریال وجود دارد) اكسس تمامی مقادیر پولی/ارزی را با 15 رقم در سمت چپ و چهار رقم در سمت راست نقطه اعشار(ممیز كسری) نگه می دارد, لذا می توانید اعداد با دقت بالا را در فیلدهای پولی نگه دارید. از مثالهای بارز این نوع فیلد مقدار حقوق كارمند را می توان ذكر كرد.

فیلد داده از نوع Auto Number (عدد خودكار):

وقتی كه فیلدی را را از نوع داده Auto number تعریف می كنید, با هر ركوردی كه به جدول اضافه شود اكسس بطور خودكار عددی را در این فیلد نگه می دارد.سه نوع ارقامی كه اكسس در فیلد عدد خودكار نگه می دارد, عبارتند از:
----------------
اعداد متوالی: هنگامی كه ركورد جدی را به جدول اضافه می كنید, اكسس رقمی متوالی را تخصیص می دهد كه از 1 شروع می شود. مقادیر متوالی Auto Number معمولا برای كلید اصلی جدول بكار برده می شوند.
اعداد تصادفی: اكسس در ركورد جدید به این فیلد, عددی منحصر به فرد و تصادفی را اختصاص می دهد. اعداد شناسائی انعكاسی: اكسس مقدار منحصر به فردی را به این فیلد تخصیص می دهد كه پایگاه داده های تكرار شونده را با یكدیگر هماهنگ می كند.
----------------
فیلد داده از نوع Yes/No (بلی/خیر):
فیلدی كه از نوع Yes/No تعریف می شود به ازای Yes عدد 1- و به ازای No عدد 0 را دارا می شود. با استفاده از بخش Filed Properties در پنجره مذكور می توانید بسته به دلیل استفاده از فیلد, یكی از سه حالت Yes/No, True/False (درست یا غلط) یا On/Off (روشن و خاموش) را به كار ببرید. از موارد استفاده از این نوع داده می توان به متاهل بودن اشاره كرد كه می تواند یا بله یا خیر را دربرگیرد.

فیلد داده از نوع شی OLE:
OLE مخفف Object Linking and Embedding (اتصال و نشاندن شی) است. اگر برنامه دیگری تحت ویندوز از OLE پشتیبانی كند یعنی بتواند شی قابل انتقال به برنامه دیگری را ایجاد كند آنگاه فیلد شی OLE در اكسس نیز قادر خواهد بود تا آن داده را در خود نگه دارد. فیلدهای OLE برای نگهداری اشیایی از قبیل عكس, تصاویر ویدیوئی و صدا مناسب است. (همانطور كه ملاحظه می كنید, پایگاه داده اكسس علاوه بر داده های عددی و متنی می تواند انواع متنوع دیگری از داده ها را نیز نگه دارد.)
وقتی كه فیلدی از نوع OLE را در جدول قرار می دهید, می توانید علاوه بر مثلا اطلاعات مربوط به اقلام موجودی, تصویر آن را نیز به شكل یك شی OLE در درون فیلد OLE قرار دهد. به این ترتیب هنگامی كه ركورد را نمایش می دهید, اكسس داده های ركورد را همراه با تصویر نمایش می دهد.
برای نگهداری فیلدهای از نوع OLE در پایگاه داده اكسس به نرم افزاهای كمكی از قبیل برنامه های گرافیكی و یا صفه گسترده نیاز دارید.

داده از نوع Hyperlink (ابرمتن):

این نوع فیلد برای نگهداری ابرمتنها بكار می روند. اگر تا حالا تجربه كار كردن با برنامه های طراحی صفحات وب یا كاركردن با كدهای HTML را داشته باشید منظور از ابرمتنها را به خوبی می دانید. ابرمتنها در واقع لینكهای اینترنتی هستند كه ما را به صفحات مختلف در اینترنت هدایت می كنند مثلا ما اگر لینكی به صورت http://www.yahoo.com داشته باشیم و برروی آن كلیك كنید ما را به صفحه یاهو خواهد برد و در واقع این نوع فیلد از انواع فیلدهایی است كه به ندرت مجبور به استفاده از آن می شویم. عملكرد آنها درست مانند فیلو از نوع متن می باشد با این تفاوت كه در اینجا هر متنی را كه برای نگهداری تایپ كنیم در واقع آن لینكی از به یك صفحه اینترنتی.
از موارد استفاده از این فیلد می توان به نگهداری آدرسهای اینترنتی مرتبط با شركت اشاره كرد.

داده از نوع Lookup Wizard (جادوگر جستجوگر):

هنگامی كه فیلدی از نوع Lookup Wizard ایجاد می كنید, اكسس با بكار گرفتن جادوگری به آن امكان می دهد تا بجای یك مقدار, فهرستی از مقادیر را نگهدارد. این فیلد می تواند فهرستی از مقادیر را از یك جدول یا بازجست و یا فهرستی از مقادیر ثابتی كه در هنگام ایجاد فیلد تعریف كرده اید,( برای فهرستهایی كه مقادیر ثابتی دارند) باشد.
فرض كنید كه شركتی به پنج كشور كالا می فروشد. هنگام طراحی پایگاه داده می توانید با بكار انداختن Lookup Wizard, فهرست ثابتی از اسامی كشورها بسازید كه در هنگام ورود داده ها به جدول, ظاهر شود.
هنگام كه كاربر بخواهد كشوری را انتخاب كند به جای تایپ نام كشور برای هر ركورد فقط باید از فهرست ثابت انتخاب كند.
حال شما قادر به شناسایی انواع داده های موجود در اكسس می باشید و با نوع عملكرد آنها آشنا هستید و تا حدودی قار به ایجاد جدول هستید .

خصوصیات فیلدها

اگر به خاطر داشته باشید در دروس قبلی شروع به طراحی پایگاه داده های خود كردیم و در مورد پنجره Design View كه ما را در طراحی جداول یاری می كند به طور مفصل صحبت شد. همچنین در درس قبل در مورد انواع داده هایی كه از طرف اكسس پشتیبانی می شود و شما می توانید از آنها در ایجاد جداول خود كمك بگیرید بحث كردیم. حال كه ما با انواع داده ها آشنا شدیم وقت آن رسیده است كه به تنظیم خصوصیات این داده ها بپردازیم و این همان موضوعی است كه در این درس به آن پرداخته شده است.

تعریف خواص فیلد:

به محض آنكه شما نوع داده را از لیست قسمت Data Type انتخاب كردید در پایین همان پنجره قسمتی كه به Field Properties مشهور است در پایین گوشه چپ نمایان می شود كه در این پنجره كوچك كه دارای دو شاخص General و Lookup می باشد ما اقدام به تنظیم خواص فیلد می كنیم. بسیاری از فیلدهای خواص فیلد, اختیاری است. برخی از فیلدها به هیچ فیلد خاصه ای نیاز ندارند حال آنكه برخی دیگر از فیلدها به چندین فیلد خاصه نیاز دارند. شما می توانید در شكل 101 در زیر پنجره خواص فیلد برای یك فیلد متنی را مشاهده كنید.
هر فیلدی كه دارای نوع خاصی است همچنین دارای خصوصیات مربوط به خود می باشد كه با خصوصیات دیگر فیلدها متفاوت می باشدمثلا در شكل بالا ما از لیست باز شده Text را كه فیلد متنی ایجاد می كند را انتخاب كردیم اگر به جای آن یك نوع دیگر فیلد مانند Number (اعداد) را انتخاب می كردیم خصوصیات فیلد ما كه در پایین پنجره مشخص است متفاوت از این شكل می شد یعنی فیلد متنی خصوصیات مربوط به خود را دارد و فیلد اعداد خصوصیات متمایز از فیلد متنی این موضوع در مورد انواع دیگر داده نیز صدق می كند. همانطور كه برای فیلد خود نوع داده ای را انتخاب كردیم مانند Text باید برای آن خصوصیات مخصوص به خود را نیز ذكر كنیم. برای این كار می توانیم بر روی كادرهای موجود در قسمت خصوصیات فیلد كلیك كرده و مقدار مورد نظر خود را در آنها وارد كنیم كه در طول این درس ما با نحوه عملكرد كادرهای خصوصیات فیلد آشنا خواهیم شد.
بخش Field properties (خصوصیات فیلد) خاصه هایی از قبیل اندازه فیلد, شكل نمایش و تعداد اعشار را مشخص می كند. هر نوع فیلد داده, مجموعه فیلدهای خاصه خودش را دارد. در زیر به ترتیب به معرفی خاصه های مختلف هریك از انواع داده می پردازیم.

خواص فیلد متنی:

در زیر هر یك از مقادیر خاصه های فیلد از نوع Text را تشریح كرده ام:
--------------->
Field Size(اندازه فیلد): حداكثر طول داده ای را كه در فیلد قابل نگهداری است تعیین می كند مثلا اگر ما بخواهیم كه كاربر در فیلد نام بیش از 15 كاراكتر قرار ندهد می توانیم با تنظیم این خصوصیت روی 15 بیش از این مقدار را قبول نكنیم.
Format(شكل): شكلی را كه اكسس برای نمایش داده فیلد بكار می برد تعیین می كند. مثلا ما می توانیم در این قسمت تعیین كنیم كه حرف اول فیلد ما به صورت بزرگ نشان داده شود.
Input Mask(قالب ورودی): نحوه ورود داده به فیلد را تعیین می كنیم مثلا اگر ما كد كارگری به شكل 2225-2 داشته باشیم می توانیم تعیین كنیم كه كاربر به هنگام وارد كردن كد در این قسمت حتما باید در دومین كاراكتر خط فاصله قرار دهد.
Caption(عنوان): پیامی است كه در هنگام انتخاب فیلد در حالت نمایش Datasheet در میله وضعیت نمایش داده می شود.
Value Default(مقدار پیش فرض):مقداری است كه كاربر همواره در فیلد مشاهده می كند مگر آنكه آن را تغییر دهد مثلا در فیلد جنسیت می توان نام مرد را همواره برای كاربر نشان داد و اگر كاربر مایل باشد می تواند آن را تغییر دهد و یا آنرا به صورت پیش فرض قبول كند.
Validation Rule(قاعده مقبولیت): مقادیری كه كاربر در فیلد وارد می كند را محدود می سازد (در این مورد در دروس آتی بیشتر صحبت می كنیم)
Validation text(متن مقبولیت):پیام خطایی است كه در صورتیكه كاربر اقدام به ورود مقداری كند كه قاعده مقبولیت را نقض كند نمایش داده می شود.
Required(ضرورت):مشخص می كند كه آیا كاربر می تواند در هنگام ورود داده در جدول این فیلد را خالی رد كند یا حتما باید مقداری در آن وارد كند مثلا اگر كاربر فیلد كه كلید اصلی می باشد خالی رد كند برنامه با مشكل روبرو می شود.
Allow Zero Length(مجاز بودن طول صفر): مشخص می كند كه آیا متنی با طول صفر در فیلد قابل قبول است یا نه.
Indexed(نیاز به ایجاد اندیكس):مشخص می كند كه آیا فیلد به اندیكس نیاز دارد یا نه. فیلد اندیكس مرتب كردن و جستجو را تسریع می كند.
Unicode Compression(فشرده سازی یونیكد): در این قسمت تعیین می كنیم كه مایلیم فیلد ما با استفاده از سیستم Unicode فشرده سازی شود كه این گزینه برای قابلیت فارسی نویسی در اكسس مفید می باشد.(در مورد سیستم Unicode می توانید به دروس HTML در همین سایت مراجعه كنید).
---------------
توجه: هنگامی كه خاصه اندازه فیلد را معین می كنید, آنرا بزرگتر از آنچه واقعا نیاز دارید قرار ندهید. اكسس فضای تخصیص یافته را بر مبنای این مقدار تعیین می كند, صرفنظر از اینكه طول به كار گرفته شود یا خیر. در صورت بزرگتر گرفتن آن , فضای دیسك بیهوده اشغال می شود.
فیلدهای Format(شكل) و Input Mask(قالب ورودی) پیچیده ترین خاصه های هر فیلد هستند. به عبارت دیگر, هنگامی كه نحوه نمایش و ورود داده با استفاده از این خاصه ها را یاد می گیرید چنان است كه گویی زبان جدیدی را فرامی گیرید. اینكه اكسس چگونه داده های وارد شده در فیلد را نمایش دهد, توسط فیلد خاصه Format تعیین می شود و خاصه Input Mask چگونگی ورود داده در فیلد را تعیین می كند.
در زیر مقادیری را كه شما می توانید در فیلد خصوصیت شكل Format وارد كنید تشریح شده اند كه به وسیله آنها می توانید نحوه نمایش داده ها را تعیین كنید:
--------------->
! : برخلاف پیش فرض تراز از سمت راست, داده های درون فیلد را تراز به سمت چپ می كند.
* : در این مكان از فیلد كاراكتری باید قرار گیرد.
& : در این مكان از فیلد وجود كاراكتر دلخواه است. (الزامی نیست)
< : در این مكان از فیلد كاراكتر به حروف كوچك تبدیل می شود.
> : در این مكان از فیلد كاراكتر به حروف بزرگتر تبدیل می شود.
: بجای اینكه كاراكتر بعدی را حرفی در نظر گیرد, آنرا بعنوان كد شكل در نظر می گیرد. (برای نمایش * مفید است, در غیر اینصورت اكسس ستاره به عنوان كاراكتر علامت محل فیلد در نظر می گیرد.)
--------------
مثال: بنابراین اگر خاصه format فیلدی را &>&&&&& تعیین كنید و نخستین ركورد جدول بصورت lw3dp2 باشد اكسس آنرا به lw3dP2 تبدیل می كند (كاراكتر > حرف P را به صورت حرف بزرگ P نشان می دهد).
در زیر هم به معرفی مقادیری كه شما می توانید در خاصه Input Mask قرار دهید ذكر شده اند:
------------->
0 : در این مكان از فیلد عدد باید باشد.
9 : در این مكان از فیلد عدد یا فاصله باید باشد.
# : در این مكان از فیلد عدد, علامت مثبت, علامت منفی یا فاصله می تواند قرار گیرد.
1 : در این مكان از فیلد باید یك حرف الفبایی باشد.
؟ : در این مكان از فیلد هر حرف الفبایی به دلخواه می تواند باشد.
A : در این مكان از فیلد باید یك حرف یا یك عدد باشد.
a : در این مكان از فیلد به دلخواه یك حرف یا عدد می تواند قرار گیرد.
& : در این مكان از فیلد باید یك كاراكتر یا فاصله قرار گیرد.
c : در این مكان از فیلد یك كاراكتر دلخواه قرار می گیرد.
> : كاراكتر در این محل به حرف بزرگ تبدیل می شود.
< : كاراكتر در این محل به حرف كوچك نبدیل می شود.
! : باعث می شود تا كاراكترهای ورودی در فیلد به جای آنچه از سمت راست شروع شوند, از سمت چپ شروع شوند.
: بجای اینكه كاراكتر بعدی را حرفی در نظر بگیرد آنرا به عنوان كد شكل در نظر می گیرد (برای نمایش كاراكترهای مانند * و ! مناسب است.)
--------------
مثال: بنابراین اگر خصوصیت شكل فیلدی را 0000-000(9999) تعریف كنید اكسس كاربر را مجبور خواهد كرد تا شماره تلفن را به شكل ده رقمی وارد كند.

خواص فیلد Memo:

داده از نوع Memo (یادداشت) مقادیر خاصه های فیلد زیر را نیز داراست, كه تمامی آنها در بالا بخش مربوط به فیلد Text تشریح شدند پس فقط به ذكر آنها بسنده كرده و آنها را توضیح نمی دهیم:
Format (شكل), Caption(عنوان), Default Value(مقدار پیش فرض), Validation Rule(قاعده مقبولیت), Validation Text(متن مقبولیت), Required(لازم بودن), Allow Zero Length(مجاز بودن طول صفر), Unicode Compression(فشرده سازی یونیكد).
به عبارت دیگر اگر فیلدی از نوع Memo داشته باشید می توانید درست مشابه فیلد متن شكل, عنوان و سایر خصوصیات آنرا را تعریف كنید.

خواص فیلد عددی:
در زیر مقادیر خاصه های فیلد از نوع Number تشریح شده است( به خاطر تكرار نكردن آنچه قبلا ذكر شد آنهایی كه مشابه فیلد از نوع Text می باشند ذكر نشده اند تا فقط موارد جدید به اطلاع شما برسند):
------------->
Field Size(اندازه فیلد):اگر فیلدی از نوع عدد داشته باشید و بخواهیم اندازه فیلد را در خصوصیات آنرا تعریف كنید شما می توانید از لیست موجود در این قسمت یكی را انتخاب كنید كه هر كدام را عناصر لیست را با نوع كاربرد آنرا ذكر می كنیم: Byte(برای نگهداری یك عدد كوچك بین 0 تا 255), Integer(یك عدد بزرگتر تا 32767), Long Integer(یك عدد باز هم بزرگتر تا 2/1 میلیون), Single(عدد اعشاری), Double(عدد اعشاری با دقت زیاد), Replication ID( یك مقدار عدد شناسائی انعكاسی برای هماهنگ كردن چندین جدول پایگاه داده), Decimal(برای اعدادبر مبنای دسیمال).
Format(شكل): در این بخش از خصوصیات هم باید یكی از موارد موجود در لیست را انتخاب كنید كه به ذكر آنها بسنده می كنیم: General Number(برای مقادیر معمولی), Currency(برای مقادیر پولی), Euro(برای مقادیری با واحد پول یورو), Fixed(همواره باید یك رقم اعشار داشته باشد), Standard(كه در اعداد بزرگ ویرگول نشان می دهد), Percent(برای نمایش ارقام درصدی همراه با علامت درصد),Scientific(برای نمایش ارقام علمی).
Decimal Places(ارقام اعشار): تعداد ارقام اعشاری كه برای یك مقدار نشان داده می شود.
-------------
دیگر موارد موجود در خصوصیات فیلد از نوع عدد تكراری بوده و انها را می توانید مانند فیلد از نوع متن تنظیم كنید.
اگر داده ای كه در فیلد وارد می كنید بزرگتر از نوع داده انتخابی باشد, اكسس پیام خطایی مبنی بر وجود مشكل را نمایش می دهد.

خواص فیلد تاریخ/زمان:

در زیر به تشریح هر یك از مقادیر خاصه های فیلد تاریخ/زمان می پردازیم توجه كنید كه از ذكر موارد تكراری اجتناب شده است.
------------>
Format(شكل): در این بخش از خصوصیات باید از لیست موجود یكی را به دلخواه و نحوه عملكرد برنامه انتخاب كنید: General Data (برای تاریخ به شكل 1382/4/20 و زمان به شكل 3:12:2 عصر ), Long Data(برای نشان داده تاریخ به شكل بلند كه در آن نام ماه ذكر شده است), Medium Data(برای نشان دادن تاریخ به شكل 82-مرداد-20), Short Data(برای نشان دادن تاریخ به شكل معمول و كوچك), Long Time(برای نشان دادن زمان به شكل 3:12:2 عصر ), Medium Time:(برای نشان داده زمان به شكل 3:12 عصر ), Short Time(برای نشان دادن زمان به صورت 3:12).
------------
دیگر موارد و خصوصیات موجود در این نوع داده مانند داده از نوع Text می باشد.
توجه: اگر هیچ یك از اشكال دقیقا آنچه لازم دارید نبود, می توانید شكل مورد نظر خود را, با كاراكترهای خاص بسازید كه این مبحث یك مبحث طولانی می باشد در برنامه ما نمی گنجد شما می تواند برای اینكار از Help بهره بگیرید.

خواص فیلد Currency (ارز/پول):
این نوع از فیلد در واقع زیرمجموعه ای از داده نوع عدد می باشد كه خصوصیات آن مانند داده از نوع عدد می باشد ولی باید برای ایجاد داده از نوع ارز از قسمت Format مورد Currency انتخاب شود.

خواص فیلد از نوع Auto Number(عدد خودكار):

در زیر هر یك از موارد و خصوصیات داده از نوع عدد خودكار شرح داده شده است:
------------>
Fielg Size(اندازه فیلد): اگر می خواهید به صورت پیش فرض از این نوع داده استفاده كنید از لیت باز شده Long Integer را انتخاب كنید ولی اگر می خواهید از پایگاه داده تكرار شونده استفاده شود باید Replication ID انتخاب شود.
New Values(مقادیر جدید): باید تعیین كنید كه اكسس اعدادی را كه در این فیلد قرار می دهد از نوع Increment(به صورت افزایشی) یا از نوع Random(به صورت تصادفی) باشد.
Format(شكل): لیست موجود در این بخش از خصوصیات فیلد درست مانند داده از نوع عدد می باشد كه می توانید مانند آن یكی از مقدارهای موجود را انتخاب كنید.)
------------
دیگر خصوصیات موجود در این نوع داده در بالا ذكر شده كه از تكرار كردن آنها اجتناب می كنیم.

خواص فیلد Yes/No(بلی/خیر):
هر یك از خصوصیات این فیلد در زیر تشریح شده است و طبق معمول از تكرار اجتناب كرده ایم:
----------->
Format(شكل): برای اینكه نحوه نمایش فیلد برای اكسس مشخص شود یكی از حالات Yes/No(بلی یا خیر), True/False(درست/غلط), On/Off(روشن/خاموش) را می توانید انتخاب كنید.
-----------

خواص فیلد شی OLE :

خواص موجود در این نوع از فیلد كه دو مورد می باشد در قسمتهای دیگر این درس ذكر شده كه بسیار ساده و پیش پا افتاده می باشد.

خواص فیلد از نوع Hyperlink(ابرمتن):
خاصیتهای موجود برای این نوع از داده همانند خواص موجود برای داده از نوع Text(متن) می باشد كه من ضرورتی در تكرار موارد ساده ای مانند این نمی بینم.

خواص فیلد Lookup Wizard(جادوگر جستجوگر):

داده از نوع Lookwizard جادوگری را به كار می اندازد كه شما با طی مراحل این جادوگر و انتخاب جدول و فیلدهای جدولهایی كه انتخاب كرده اید و می خواهید داده ها از آنها استخراج شده و در مقابل كاربر نشان داده شود خصوصیات متفاوتی را برای شما نمایان می كند.(توجه كنید كه برای استفاده از جادوگر جستجو قبلا باید جدولی داشته باشید كه داده ها از آن استخراج شده و در این قسمت قرار داده شود پس اول جدولی حاوی داده هایی كه می خواهید در لیست قرار داده شود ایجاد كرده وسپس از جادوگر استفاده كنید). بعد از طی مراحل جادوگر و ایجاد آن شما می توانید بر روی شاخص Lookup موجود در قسمت خصوصیات فیلد كلیك كرده تا خصوصیات مربوط به جادوگر طراحی شده برای شما نمایان شود در زیر هر یك از این خصوصیات موجود تشریح شده است:
----------->
Display Control(كنترل نمایش داده شده): این خاصه مشخص می كند كه در هنگام دریافت اطلاعات در حالت نمایشی Datasheet چه كنترلی در این فیلد اعمال شود لیست موجود در این قسمت حاوی Text Box(جعبه متن), List Box(جعبه لیست شده), Combo Box(جعبه تركیب) می باشد.
Row Source Type(نوع ماخذ سطر):مشخص كننده جایی است كه داده از آن منشا می گیرد. گزینه های ممكن عبارتند از Table/Query(جدول یا بازجست), Value List( داده هایی كه وارد می كنید), Field list(فهرستی از فیلدهای یك جدول یا جستجو).
Row Source(ماخذ سطر): می تواند یك جدول یا بازجست یا معمولا یم عبارت SQL باشد. از شنیدن عبارت SQL مضطرب نشوید نمایشش شاید به چشم گیج كننده برسد اما در واقع همان چیزی است كه هنگام ایجاد بازجست آنرا می سازید. پس زیاد این قسمت از خصوصیات را دستكاری نكنید تا با آن بیشتر آشنا شوید.
Bound Column(ستون مقید): ستونی از List Box یا Combo Box است كه قبلا انتخاب شده است و این فیلد داده های نمایش را از آن برمی دارد.
Column Count(تعداد ستونها): تعداد ستونهای ماخذ سطری است كه می خواهید نمایش داده شود.
Column Heads(عناوین ستونها): تعیین می كند كه آیا برای ستونها عنوانی نیز نمایش داده شود یا نه.
Column width(پهنای ستونها): پهنای هر یك از ستونها را بر حسب سانتیمتر نشان می دهد كه با ویرگول از هم جدا شده اند.
List Rows(تعداد سطور فهرست): این خصوصیت همانطور كه از نامش پیدا است تعداد ستونها نمایش داده شده را تعیین می كند.
List Width(پهنای فهرست): پهنای كلی Combo Box یا List Box را مشخص می كند.
Limit to list(محدود به فهرست): مشخص می كند كه آیا كاربر باید از فهرست انتخاب كند یا این كه می تواند مقادیر مورد نظرش را نیز وارد كند.
----------
Lookup Wizard قابلیتی جالب است, این قابلیت ابزار قدرتمند و سودمندی است. هر چند تا زمانی كه قدری با اكسس كار نكنید از این فهرستها در جدول استفاده نخواهید كرد, لیكن هنگامی كه آماده استفاده از آن شدید متوجه خواهید شد كه كار با آنها ساده است.

خواص جستجو:

در قسمت خصوصیات فیلد سربرگ دیگری به نام Lookup وجود دارد كه آنرا می توانید برای بعضی از نوع داده ها تنظیم كنید نه برای همه و كار با این سربرگ بسیار ساده و راحت است و تمامی موارد موجود در آن را توضیح داده ایم وشما در كار كردن با آن كه بسیار كم به آن احتیاج خواهید داشت مشكلی نخواهید داشت.

ذخیره كردن جدول:

در هنگام طراحی جدول حتما به خاطر داشته باشید كه كلید اصلی را در آن ایجاد كنید یا به عبارت دیگر بهتر است قبل از هر كاری كلید اصلی را در ابتدای جدول ایجاد كنید.
اما بعد از اینكه جدول خود را به طور كامل تعریف كردیدباید آنرا ذخیره كنید. برای این كار می توانید با زدن علامت ضربدر گوشه سمت راست بالا جدول اقدام به بستن جدول كنید و هنگام سوال كردن از شما مبنی بر ذخیره جدول آنرا تائید كرده و نامی را كه در نظر دارید به جدول خود اختصاص دهید. پس از این كار جدول بسته خواهد شد و نام آنرا می توانید در میان فهرست جداول موجود ببینید.

حالا شما قادر به طراحی جداول می باشید هرچند كه پیچیده باشند و به مرور زمان در این كار استاد خواهید شد. حال كه شما می توانید اولین شی موجود در پایگاه داده خود را ایجاد كنید پس اقدام به اینكار كرده و چندین جدول را برای برنامه خود ایجاد كنید كار زیبا و لذت آوری است.

ورود داده‌ها به جدول
حال كه در سه درس قبلی با طراحی جداول در اكسس آشنا شدید و موفق شدید كه اولین جدول خود را طراحی و در پایگاه داده قرار دهید موقع آن رسیده است كه از جداول طراحی شده توسط خودتان استفاده كامل را ببرید یعنی داده ها خود را برای نگهداری و انجام عملیات در جداول خود وارد كنید و این موضوع یعنی وارد كردن داده ها در جدول و اصلاحات در آنها موضوع درس این جلسه می باشد.
در ادامه این درس به بررسی راه كارهای موجود برای وارد كردن اطلاعات در جدول های طراحی شده خواهیم پرداخت. شاید ساده ترین و پركاربردترین راه برای ورود داده ها, استفاده از حالت نمایشی Datasheet یا صفحه گسترده باشد.اگر تا به حال تجربه كاركردن با برنامه هایی مانند Microsoft Excel را داشته باشید حتما تشابه بسیار بین این برنامه و حالت نمایشی Datasheet خواهید دید. با استفاده از حالت نمایشی Datasheet به راحتی می توانید مقادیر را در سطرها (ركوردها) و ستونهای (فیلدها) جدول وارد كنید.در این حالت نمایشی با ورود مقادیر در سطرها و ستونها در واقع ركوردها و فیلدهای جدول را پر می كنید. علاوه بر ورود داده های جدید هنگامی كه خطایی در داده وارد شده مشاهده كنید یا وقتی بخواهید مقادیر را تغییر دهید با ید داده های موجود را اصلاح كنید. اكسس برای جستجو و اصلاح محتوای جدول ها, در حالت نمایشی Datasheet ابزارهای اصلاحی متعددی دارد. حالت نمایشی Datasheet علاوه بر ورود و اصلاح داده ها, می تواند در میان داده های مورد نظر جستجو كند.

مقدمات جهت افزودن داده ها به جدول :
هنگامی كه با استفاده از حالت Design جدولی ایجاد كردید برای ورود داده ها به آن آمادگی خواهید داشت. پس اگر جدولی طراحی نكرده اید یك جدول طراحی كنید و اگر جدولی از پیش طراحی شده دارید مراحل زیر را طی كنید:
1) از لیست جدولهای موجود جدولی را كه می خواهید داده ها را در آن وارد كنید انتخاب كنید, برای اینكار كافی است بر روی نام جدول موردنظر یك بار كلیك كنید.
2)برای باز كردن جدول روی كلید Open كلیك كنید. اكسس جدول را در حالت نمایشی Datasheet نمایش می دهد. اگر اولین دفعه باشد كه اقدام به وارد كردن داده در جدول موردنظر می كنید جدول به صورت خالی ظاهر می شود ولی اگر داده ای قبلا در آن وارد كرده باشید داده های موجود نیز نشان داده خواهند شد. توجه: اگر قصد داشته باشید كه تغییری در ساختار جدول ایجاد كنید باید بر روی دكمه Design كلیك كنید تا بتوانید قسمتهای موردنظر خود را تغییر داده یا فیلدهای جدید خود را به آن اضافه كنید( در این مورد به صورت مفصل قبلا صحبت كرده ایم)
هنگامی كه برای اولین بار حالت نمایشی Datasheet ظاهر می شود, اكسس نشانگر را در ابتدای نخستین فیلد در نخستین ركورد قرار می دهد.

ورود داده ها در جدول :

به طور حتم تا حالا متوجه شده اید كه برای وارد كردن داده ها در جدول به مهارت خاصی نیاز ندارید. شروع به وارد كردن نخستین مقدار در جدول كنید تا اكسس آنرا از شما قبول كند. با استفاده از تمامی كلیدهای صفحه كلید می توانید به راحتی داده ها را در جدول وارد كرده و بین فیلدها و ركوردهای مختلف گشت بزنید.
توجه: اگر برای فیلدی خصوصیات ویژه ای را تعریف كرده باشید باید مطابق با آن عمل كنید. مثلا اگر طول فیلی را 12 كاراكتر تعیین كرده باشید, اكسس فقط امكان ورود 12 كاراكتر را به شما خواهد داد. اگر توجه كرده باشید متوجه می شوید كه هنگامی كه شما شروع به وارد كردن اولین مقدار در نخستین فیلد ركورد كردید, اكسس به طور خودكار ركورد خالی بعدی را ایجاد می كند. بدین ترتیب می توانید پس از اتمام ورود داده در اولین ركورد به ركورد بعدی بروید. همچنین اگر دقت كنید ستاره ای را در ابتدای ركورد خالی می بینید این ستاره به این معنا است كه ركورد جدید بوده و خالی نمی باشد. اگر در این ركورد جدید داده ای وارد نكنید اكسس آن را در جدول ذخیره نخواهد كرد.
یكی از راههای متداول حدكت كردن در بین فیلدهای جدول استفاده از كلید Tab است اگر كلید Tab را فشار بدهید به فیلد بعدی موجود در جدول می روید و همچنین اگر Shift+Tab را فشار دهید به فیلد قبلی موجود در جدول هدایت خواهید شد. همچنین می توانید با اشاره گر ماوس بر روی فیلد مورد نظر كلیك كرده و اقدام به ورود داده كنید.
همواره نیم نگاهی هم به میله وضعیت در پایین پنجره حالت نمایشی Datasheet داشته باشید. وقتی كه داده ها را در فیلدهای جدولی وارد می كنید میله وضعیت توضیحی در باره آن فیلد می دهد. در واقع این توضیح همان توضیحی است كه شما در هنگام طراحی جدول در قسمت Description (شرح) فیلد واردكرده اید و حال برای اطلاع كاربر در میله وضعیت نشان داده می شود. مثلا اگر در قسمت Description فیلد نام متن "نام كامل خود را وارد كنید" را وارد كرده باشید هنگامی كه كاربر می خواهد این فیلد را در جدول پر كند در میله وضعیت عبارت "نام كامل خود را وارد كنید" را می بیند.
توجه: در ابتدای ركوردی كه در حال ورود داده یا اصلاح آن هستید شكلك مداد نمایش داده می شود.
توجه كنید هنگامی كه تمامی فیلدهای یك ركورد را پر كردید و به ركورد بعدی رفتید اكسس به طور خودكار ركورد را ذخیره می كند. در این صورت در صورت به وجود آمدن اتفاق غیر قابل پیش بینی شما حداقل اطلاعات را از دست خواهید داد. ولی چنانچه مایل هستید به صورت دستی در میانهای وارد كردن داده ها در یك ركورد آن ركورد را ذخیره كنید می توانید از كلیدهای Shift+Enter استفاده كنید.

اصلاح فیلدهای جدول :

در اكسس تغییر داده های وارد شده بسیار آسان است. فقط كافی است كه با استفاده از كلیدهای Tab و Shift+Tab یا با بهره گیری از ماوس به فیلد مورد نظر خود بروید تا اكسس تمامی محتویات آن فیلد را به صورت پر رنگ درآورد.حال می توانید اقدام به ورود داده جدید در آن فیلد بكنید. فقط دقت كنید چون تمامی محتویات فیلد به حالت پررنگ است داده جدید جایگزین آنها خواهد شد.
توجه: اكسس در ابتدای ركوردی كه در حال اصلاح است علامت فلش را قرار می دهد. در واقع سه علامت مداد(ورود داده), فلش(اصلاح داده) و ستاره(ركورد جدید)علامتهای متداول جدول است.
اگر قصد ندارید كه تمامی محتویات فیلد را پاك كنید كافی است كلید F2 را فشار دهید تا داده از حالت پر رنگ خارج شود. بدین ترتیب داده جدید به داده قبلی در همان فیلد اضافه می شود.در واقع با زدن كلید F2 به حالت اصلاح وارد می شوید.البته توجه كنید كه با استفاده از ماوس می توانید در هرجایی از فیلد تغییرات لازم را بدهید و استفاده از ماوس در این كارها به مراتب راحتتر از صفحه كلید است.
در اینجا ذكر این نكته را ضروری می بینم شما می توانید از كلیدهای صفحه كلید تمامی بهره را ببرید و همه كلیدها به طوری كه در برنامه های دیگر مانند ورد عمل می كنند در اینجا نیز عمل خواهند كرد. همچنین شما می توانید با انتخاب گزینه های Copy و Paste از منو Edit محتوای یك فیلد را در فیلد دیگری كپی كنید این عمل درست مانند عمل كپی و الصاق در برنامه های واژه پرداز مانند Word می باشد و عملكرد آن بسیار ساده و آسان است.

استفاده از میله ابزار حالت نمایشی Datasheet

هنگام استفاده از حالت نمایشی Datasheet میله ابزار می تواند بسیار سودمند باشد. همانطور كه چندین بار نیز گفته ام اكسس در انجام فعالیتهای مختلف میله ابزار را تغییر می دهد. در شكل 111 در زیر شما می توانید با میله ابزار این پنجره آشنا شوید. حتما سعی كنید تمامی امكانات میله ابزار را به خاطر بسپارید كه در مواقعی به آنها احتیاج خواهید داشت.یكی از كاربردهای مفید میله ابزار دكمه view اولین دكمه موجود در این میله است كه با فشار دادن آن می توانید در بین حالتهای نمایشی Datasheet و Design حركت كنید.

كنترل بر روی ركوردهای زیاد:

فرض كنید بخواهید به جدولی كه قبلا چند صد ركورد وارد آن شده, ركوردهای جدید را اضافه كنید.ممكن است ركوردهای جدید شما را گیج كنند و یا تشخیص ركوردهای جدید دشوار باشد.قبل از ورود ركوردهای جدید می توانید تمامی ركوردهای پیشین را مخفی كنید.برای این كار كافی است از منو Records گزینه Data Entry را انتخاب كنید اكسس بجز ركوردهایی كه به تازگی وارد شده, باقی را از دید شما پنهان می كند. در این هنگام وقتی شما داده های جدید را وارد می كنید اكسس فقط ركوردهای جدیدی را كه وارد كرده اید نمایش می دهد.در واقع تمامی ركوردها در جدول وجود دارند ولی اكسس آنها را پنهان می كند. برای بازگشت به وضعیت نمایش تمامی ركوردها می توانید از منو Records گزینه Remove File/Sort را انتخاب كنید. در این صورت اكسس تمامی ركوردهای جدول را نشان می دهد.
جدولهای پایگاه داده ممكن است بسیار بزرگ باشد مثلا ممكن است در انبار یك شركت صدها جنس وجود داشته باشد كه در پایگاه داده ثبت شده اند.

برای حركت در جدولهای بزرگ بجای استفاده از كلیدهای صفحه كلید می توانید از منو Edit گزینه Goto را انتخاب كنیدتا لیستی باز شود كه به شما امكان رفتن به اولین ركورد, آخرین ركورد, ركورد قبلی یا بعدی در جدول را می دهد.همچنین اگر از لیست باز شده گزینه New را انتخاب كنید اكسس یك راست به ركورد جدیدی در انتهای جدول می رود. در واقع این لیست Goto درست مانند دكمه های حركت در زیر پنجره Datasheet است كه قبلا درباره آنها صحبت كردیم. در این دكمه شما می توانید با تایپ شماره ركورد مورد نظر یك راست به آن ركورد بروید. مثلا اگر در جدولی قصد رفتن به ركورد 1363 را دارید كافی است كلید F5 را فشار داده و عدد 1365 را وارد كنید تا اكسس به آن ركورد رجوع كند.
حتما همگی با كاربرد دكمه Undo آشنا هستید در واقع این دكمه زمانی به كار می رود كه هنگام وارد كردن داده در یك فیلد متوجه شدید كه اشتباهی رخ داده است و قصد دارید داده های قبلی فیلد به آن بازگردند با زدن دكمه Undo(بازگرداندن) از میله ابزار یا فشار كلید Esc از صفحه كلید این عمل به راحتی انجام می شود.

ورود داده های غیر متنی:
در اكثر فیلدهای پایگاه داده شما نوع داده ذخیره شده در آن را قبلا در طراحی جدول تعیین كرده اید مثلا فیلدی را از نوع متن و دیگری را از نوع عدد تعیین كرده اید اگر در هنگام ورود داده مثلا در فیلدی از نوع عدد بخواهید متن وارد كنید اكسس پیغام خطایی به شما نشان می دهد و اجازه این كار به شما داده نخواهد شد. درست است كه تعداد فیلدهایی كه به غیر از نوع متن و عدد هستند بسیار كم است ولی به هرحال ما مجبور به استفاده از آنها هستیم بعضی از این انواع داده ها روشی خاصی را برای وارد كردن داده می طلبند كه به آنها می پرازیم:

ورود داده در فیلدی از نوع Memo :

همانطور كه در دروس پیش نیز ذكر شد داده از نوع Memo نسبت به داده از نوع متن می تواند مقدار كاراكتر بیشتری را در خود نگهداری كند یعنی چیزی حدود 64000 كاراكتر. اكسس برای كار با این متن بزرگتر ابزار خاصی را در نظر گرفته است.
توجه: در حالت نمایشی Datasheet ابزارهای ورود داده برای فیلدهای از نوع Memo ضعیف است. فرمها و پنجره های محاوره(درون برنامه), قابلیتهای بهتری برای این كار فراهم می كنند.
معمولا در هنگامی كه در یك فیلد از نوع Memo قصد ورود داده ای را داشته باشیم روی آن Zoom می كنیم برای این كار كافی از كلیدهای shift+F2 را فشار دهید.
كاركرد این پنجره zoom به طرز خاصی تعجب آور است مثلا اگر شما بخواهید پس از پایان یك پاراگراف در فیلد Memo یك پاراگراف دیگر را شروع به تایپ كنیدباید به جای Enter كلیدهای ctrl+Enter را فشار دهید. تا اكسس نشانگر را به خط جدید ببرد.
اگر برای ورود داده ها از فرم استفاده كنید فرم قادر خواهد بود تا تمامی فیلد Memo را در یك لحظه نمایش دهد و به شما امكان می دهد تا به راحتی و بسیار طبیعی تر در فیلد از نوع Memo گردش كنید.(البته بعدا در مورد فرمها به طور مفصل صحبت خواهیم كرد.)

ورود داده در فیلدی از نوع Data/Time (تاریخ/زمان):

در ورود داده در این نوع فیلد باید توجه كنید كه شما در هنگام ایجاد پایگاه داده برای ورود داده در این فیلد چه شكلی را انتخاب كرده اید پس باید بر اساس همان شكل انتخابی داده ها را وارد كنید. واضح است كه در این نوع فیلدها هم تاریخ و هم زمان را می توانید وارد كنید یا یكی را وارد كنید. برای درج تاریخ سیستمی خود در این نوع فیلد (یعنی تاریخ حال) كافی است دكمه های ;+Ctrl را فشار دهید تا تاریخ موجود در سیستم در فیلد وارد شود.

ورود داده در فیلدی از نوع Yes/No (بلی/خیر):

اگر داده ای از نوع Yes/No در جدول خود داشته باشید به جای آن یك جعبه انتخابی را خواهید دید كه اگر جعبه را انتخاب كنید در واقع Yes و اگر انتخاب نكنید در واقع No را برگزیده اید. برای انتخاب جعبه های انتخابی یا باید از ماوس استفاده كنید یا اینكه كلید SpaceBar را از صفحه كلید فشار دهید.

ورود داده در فیلدی از نوع OLE:

اگر بخواهید داده های نرم افزارهای دیگر را در اكسس ذخیره كنید (مانند عكس,صوت,فیلم و غیره) باید داده ای از نوع OLE ایجاد كرده باشید نحوه ایجاد این نوع داده در دروس پیش گفته شده است. برای وارد كردن این نوع داده نمی توانید از صفحه كلید استفاده كنید پس باید روش مخصوصی را طی كنید. برای قرار دادن شی از نوع OLE ابتدا باید مكان شی OLE را با استفاده از ماوس در جدول انتخاب كنید بعد از منو Insert گزینه Object را انتخاب كنید تا پنجره ای مانند شكل 112 در زیر باز شود. این پنجره راه ورود داده های دیگر در اكسس است.

در این پنجره دو انتخاب وجود دارد یكی استفاده از نرم افزارهای گوناگون برای ایجاد فایل مورد نظر(Create New) و دیگری استفاده از فایلهایی كه قبلا ایجاد و روی هارد ذخیره شده اند(Create form file). اگر از حالت اول استفاده كنید یعنی قصد داشته باشید با استفاده از نرم افزاری دیگر اقدام به ایجاد فایل خود كنید با انتخاب گزینه Create Now از لیست كناری آن نرم افزار مورد نظر خود را انتخاب كنید و بر روی OK كلیك كنید تا نرم افزار باز شود و شی جدید ایجاد گردد.(مانند استفاده از نرم افزار Photoshop برای ذخیره یك فایل فوتوشاپ در پایگاه داده)
ولی اگر حالت دوم را مورد استفاده قرار می دهیدهرچند كه پیشنهاد من استفاده از مورد قبل است باید گزینه Create form file را انتخاب كنید تا كادری در مقابل شما ایجاد شود. با كلیك روی دكمه Browse اقدام به انتخاب فایل موردنظر كنید. توجه كنید كه اكسس نمی تواند در حالت نمایشی Datasheet شی از نوع OLE را نمایش دهد و فقط به ذكر یك نام در مورد آن بسنده می كند مانند Bitmap Image ولی با استفاده از فرمها یا گزارشها می توان موضوع OLE را نمایش داد.
درس ورود داده ها در جدول هم به پایان رسید. امیدواریم این مبحث برای شما مفید بوده باشد.


|
امتیاز مطلب : 17
|
تعداد امتیازدهندگان : 5
|
مجموع امتیاز : 5
موضوعات مرتبط: مقالات ACCESS , ,
تاریخ : جمعه 27 مرداد 1391
نویسنده : hamidrezakhouri

Join کردن بیش از ۲ جدول برای Database های  Access

کتاب ColdFusion MX Bible  برای Join کردن بیش از دو جدول یک بانک اطلاعاتی راه حل زیر را پیشنهاد می کند:

SELECT
  c.CompanyID,
  c.CompanyName,
  e.LastName,
  e.FirstName,
  e.Salary,
  d.FullName,
  d.RelationShip
FROM
  Company c INNER JOIN Employee e
  ON c.CompanyID = e.CompanyID
  INNER JOIN Dependant d
  ON e.SSN = d.SSN

که در بیشتر برنامه های Database Server درست عمل می کند .اما در بانکهای اطلاعاتی Microsoft Access پیغام خطایی با توضیح زیر می دهد :
Operator expected 

در اکسس در برخی قسمت ها وجود پرانتز الزامی است با اینکه در انواع دیگر بانک های اطلاعاتی نیازی به آن پرانتز ها نیست.  یعنی کد مورد نظر را باید به صورت زیر باز نویسی کنیم :

SELECT
  c.CompanyID,
  c.CompanyName,
  e.LastName,
  e.FirstName,
  e.Salary,
  d.FullName,
  d.RelationShip
FROM
  (Company c INNER JOIN Employee e
  ON c.CompanyID = e.CompanyID)
  INNER JOIN Dependant d
  ON e.SSN = d.SSN 

و یک نمونه ی دیگر در اتصال ۴ جدول :

SELECT
  cfarticle.id,
  cfarticle.title,
  cfarticle.description,
  cfarticle.dateadded,
  editorial.authorname as author,
  categories.name,
  levels.levelname
FROM
  ((cfarticle INNER JOIN categories ON cfarticle.category=categories.id)
   INNER JOIN editorial ON cfarticle.author=editorial.id)
    INNER JOIN levels ON cfarticle.skllevel=levels.id


|
امتیاز مطلب : 14
|
تعداد امتیازدهندگان : 4
|
مجموع امتیاز : 4
موضوعات مرتبط: مقالات ACCESS , ,
تاریخ : جمعه 27 مرداد 1391
نویسنده : hamidrezakhouri

آموزش ساخت تابع Query Command

این مقاله نحوه ایجاد قابلیتی را می آموزد که ضوابط فیلتر کردن را از طریق یک فرم جدولی اکسس 2003 وارد کنید و دکمه ای بنام Query داشته باشید تا فیلتر اعمال شود.
این فیلتر 4 تکست باکس بنام های txtFirstName ، txtMiddleInitial ، txtLastName وtxtSSN  دارد که جدول دیتابیس member نام دارد و فیلد هایی بنام های First ، Mi ، Last و  SSNدارد .

فانکشن AttachAnd که برای ساخت جمله فیلتر کننده SQL استفاده میشود :

"First='David' and Last='Nishimoto'".

ساخت فانکشن :

Option Compare Database
    Dim ssql


1- کاربر دکمه query را فشار داد
2-یا اینکه شما میتوانید یک دکمه برای رویداد exit قرار دهید.

    Private Sub cmdQuery_Click()
        BuildQueryCommand
    End Sub


3- فانکشن BuildQueryCommand یک فیلتر با ضوابطی که از تکست باکس ها دریافت کرده میسازد
4 – قوانین فیلتر اعمال شد .

    Private Function BuildQueryCommand()
        sSQL = ""
        Call AttachAnd("First", "'" & txtFirstName & "'")
        Call AttachAnd("Mi", "'" & txtMiddleInitial & "'")
        Call AttachAnd("Last", "'" & txtLastName & "'")
        Call AttachAnd("SSN", "'" & txtSSN & "'")
           
        Filter = sSQL
        FilterOn = True
   
    End Function


ضوابط چندگانه یا تکی را بررسی کنید

 Single: "first='David'"
Multiple:"First='David' and Last='Nishimoto'"
    Private Function AttachAnd(sField, sValue)
   
        If sValue = "''" Or sValue = "" Then
            Exit Function
        End If
   
        If Occurances(sSQL, "=") = 0 Then
            sSQL = sSQL & sField & "=" & sValue
        Else
            sSQL = sSQL & " and " & sField & "=" & sValue
        End If
   
    End Function

رخدادهای یک طرح را در عبارت SQL بشمارید 

    Private Function Occurances(sSQL, sOperator)
    Dim offset
    Dim iCount

        offset = 1
        While offset 0
               offset = InStr(offset + 1, sSQL, sOperator)
               If offset > 1 Then
                       iCount = iCount + 1
               End If
        Wend

        Occurances = iCount


|
امتیاز مطلب : 8
|
تعداد امتیازدهندگان : 3
|
مجموع امتیاز : 3
موضوعات مرتبط: مقالات ACCESS , ,

صفحه قبل 1 صفحه بعد

آخرین مطالب

/
از این که به وبلاگ من سر زدید خیلی خیلی ممنونم باتشکر حمیدرضاخوری